#!/bin/bash

# 一定要使用 bash 运行脚本，才能兼容source引入
wget https://gitee.com/zhp1221/linux-shell/raw/master/common_func.sh -O /tmp/common_func.sh

source /tmp/common_func.sh


echo_full_line
print_custom_color_and_normal "3" "切换opt目录"

# 切换opt目录
cd /opt

# =====================================c/c++ 工具相关===================================
print_custom_color_and_normal "3" "安装c/c++相关工具"
sudo curl -fsSL https://gitee.com/zhp1221/linux-shell/raw/master/c_utils.sh | sh


# =====================================ruby 源码相关===================================
echo_full_line
print_custom_color_and_normal "3" "下载ruby源码 & 安装"
echo_full_line

# 下载ruby2.6.0源码包
# 也可以自己下载，然后切换进去编译，速度会更快，自己下载的话，请注释掉相关命令即可
sudo wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0.tar.gz

echo_full_line
print_custom_color_and_normal "3" "编译ruby源码"
echo_full_line

# 解压
sudo tar -zxvf ruby-2.6.0.tar.gz

# 切换目录
cd /opt/ruby-2.6.0

# 安装zlib，用于后续的gem install
# 安装/usr/local 用于所有用户可用
#  运行配置脚本，检测环境并生成 Makefile
sudo ./configure --prefix=/usr/local --with-zlib-dir=/usr/include/zlib

#  运行配置脚本，检测环境并生成 Makefile
sudo make -j$(nproc)

# 安装到系统
sudo make install

# =====================================innodb_ruby 工具相关===================================

echo_full_line
print_custom_color_and_normal "3" "安装innodb_ruby..."
print_custom_color_and_normal "3" "安装这个时间较久(大约10分钟)，切勿退出，静静等待"
echo_full_line

# 安装innodb_ruby
sudo gem install innodb_ruby

# =====================================网站信息 & 验证命令===================================
echo_full_line
echo_full_line
print_custom_color_and_normal "6" "ruby 源码下载网站："     "https://www.ruby-lang.org/en/downloads/releases/"
print_custom_color_and_normal "6" "innodb_ruby 工具网站：" "https://github.com/jeremycole/innodb_ruby"
print_custom_color_and_normal "6" "innodb_ruby 使用说明：" "https://github.com/jeremycole/innodb_ruby/wiki"
echo_full_line
print_custom_color_and_normal "6" "ruby 2.6.0安装完毕，请使用命令验证："             "ruby -v"
print_custom_color_and_normal "6" "innodb_ruby 0.14.0 工具安装完毕，请使用命令验证：" "innodb_space --help"
echo_full_line
echo_full_line
